import { createStore } from 'vuex'
import { mockGetinfo } from '~/api/manager'
import { removeToken } from '~/composables/auth'

// 创建一个新的 store 实例
const store = createStore({
    state () {
        return {
            //用户信息
            user: {},

        }
    },
    mutations: {
         // 记录用户信息
         SET_USERINFO(state,user){
            state.user = user
        },

    },
    actions:{
        //获取用户登录信息
        getinfo({commit}){
            return new Promise((resolve,reject)=>{
                mockGetinfo()
                .then(res=>{
                    //console.log(res);
                    commit('SET_USERINFO',res)
                    resolve(res)
                }).catch(err=>reject(err))
            })
        },

        //退出登录
        logout({ commit }){
            // 移除cookie里的token
            removeToken()
            // 清除当前用户状态 vuex
            commit("SET_USERINFO",{})
        },

    }
})

export default store